/**
 * @author 王晓伟
 * @description 扩展了EXT.from.datefield组件。
 * xtype为uxdatefield.
 */
Ext.ux.DateField = Ext.extend(Ext.form.DateField,{
	initComponent:function(){
		this.id = this.name;
		this.addEvents(
		/**
		 * 定义一个变化的事件,这个事件的触发条件是一旦DateField组件的大小通过拉伸发生变化后就触发这个事件。
		 * _dateField(这个组件本身)
		 */
		'chang',
		/**
		 * 定义一个设计状态下选中事件,这个事件的触发条件是一旦DateField组件在设计状态下被选中后就触发这个事件
		 * _dateField(组件名称)
		 */
		'designSelected'
		);
		Ext.ux.DateField.superclass.initComponent.call(this);
		this.on('render',function(p) {
					/**
		        	 * 获取上级父节点，创建拉伸对象，并且如果拉伸动作发生触发chang事件。
		        	 */
		        	var _e =  Ext.get(this.id).findParent('div',null,true);
		        	new Ext.Resizable(_e.id, {
		                handles: 'e',
		                pinned: true,
		                transparent: true,
		                resizeElement: function() {
		                    var box = this.proxy.getBox();
		                    p.updateBox(box);
		                    if (p.layout) {
		                        p.doLayout();
		                    }
		                    p.fireEvent('chang',p);
		                    return box;
		                }
		           });
				   $('#'+this.id).bind('click',{components:this},function(event){
							event.data.components.fireEvent('designSelected',event.data.components);
				   });	
			}
		);
	}
});
Ext.reg('uxdatefield',Ext.ux.DateField);